Supporting Refactoring Activities Using Histories of Program Modification
نویسندگان
چکیده
Refactoring is one of the promising techniques for improving program design by means of program transformation with preserving behavior, and is widely applied in practice. However, it is difficult for engineers to identify how and where to refactor programs, because proper knowledge and skills of a high order are required of them. In this paper, we propose the technique to instruct how and where to refactor a program by using a sequence of its modifications. We consider that the histories of program modifications reflect developers’ intentions, and focusing on them allows us to provide suitable refactoring guides. Our technique can be automated by storing the correspondence of modification patterns to suitable refactoring operations. By implementing an automated supporting tool, we show its feasibility. The tool is implemented as a plug-in for Eclipse IDE. It selects refactoring operations by matching between a sequence of program modifications and modification patterns. key words: refactoring, software development environment, modification history, pattern matching
منابع مشابه
Method-Level Code Clone Modification using Refactoring Techniques for Clone Maintenance
Researchers focused on activities such as clone maintenance to assist the programmers. Refactoring is a well-known process to improve the maintainability of the software. Program refactoring is a technique to improve readability, structure, performance, abstraction, maintainability, or other characteristics by transforming a program. This paper contributes to a more unified approach for the pha...
متن کاملAutomated Pointcut Extraction
Software refactoring consists of the modification of internal program structure without altering the external behavior (semantic preservation). It aims at improving internal quality factors, such as modularity, in order to make the code easier to understand and evolve in the future. Among the various refactorings, a category quite unexplored is refactoring Object Oriented Programming (OOP) to A...
متن کاملDoes the Act of Refactoring Really Make Code Simpler? A Preliminary Study
Refactoring is the act of changing software code, usually to improve internal code quality, without changing its external behavior. Soetens and Demeyer (2010) analyzed one software and showed that code refactoring did not imply in better result for code quality metrics. In this work, we extend Soetens and Demeyer study, mining data from 256 software projects from Apache Software Foundation, usi...
متن کاملA User-extensible Refactoring Tool for Erlang Programs
Refactoring is the process of changing the design of a program without changing what it does. While it is possible to refactor a program by hand, tool support is considered invaluable as it allows largescale refactorings to be performed easily. However, most refactoring tools are black boxes, supporting a fixed set of ‘core’ refactorings. This paper reports the framework built into Wrangler – a...
متن کاملA Model-driven Approach to Program Refactoring
Refactoring object-oriented programs along with their associated models usually involve complex maintenance efforts, in order to keep those artifacts correct and up to date. Most projects abandon design information in the form of models early in the life cycle, as their sustentation turns out extremely expensive. In this paper, we propose an approach for refactoring object-oriented programs by ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEICE Transactions
دوره 89-D شماره
صفحات -
تاریخ انتشار 2006